import axios from 'axios'

export function request(config) {
    const instance = axios.create({
        baseURL: '/api',
        timeout: 5000
    })
    // 请求拦截
    instance.interceptors.request.use(config => {
        // 1：比如config中的一些信息不符合服务器的要求，可以使用拦截器，在这里做处理
        // 2：比如每次发送网络请求时，希望在界面显示一个请求的图标
        // 3：某些网络请求（如登录），必须携带一些特殊信息
        // console.log(config);
        // 拦截成功的请求，处理后必须要返回
        return config
    }, error => {
        // console.log(error);
    });
    // 响应拦截
    instance.interceptors.response.use(res => {
        let result = res.data;
        let path = location.pathname;
        // console.log(result.status);
        // console.log(path);
        if (result.status === 0) {
            return result.data;
        }else if(result.status === 10) {
            if (path !== '/index') {
                window.location.href = '/login';
            }

        }
        // else{
        //     this.$message.warning(result.msg);
        // }
    }, error => {
        // console.log(error);
    });

    // instance(config)返回的就是Promise
    return instance(config)
}
